import json
from django_redis import get_redis_connection
from utils.cookiesecret import CookieSecret
def merge_cart_cookie_to_redis(request,user,response):
    #1.去cookie购物车数据2
    cookie_str = request.COOKIES.get("carts")
    #2.判断 有没有 没有  直接  return
    if not cookie_str:
        return response
    cookie_dict = CookieSecret.loads(cookie_str)
    #3.取redis  所有的购物车  10个
    redis_client = get_redis_connection("carts")
    client_data = redis_client.hgetall(user.id)
    redis_dict = {int(data[0].decode()):json.loads(data[1].decode()) for data in client_data.items()}
    #4.合并  1.循环比对  2.dict update()
    redis_dict.update(cookie_dict)
    #5.修改redis 的所有数据覆盖
    for sku_id in redis_dict.keys():
        redis_client.hset(user.id,sku_id,json.dumps(redis_dict[sku_id]))
    #删除cookie的数据
    response.delete_cookie("carts")
    #6.返回响应
    return response
